#1.列表list
myList=['张三',18,172.5,True,20,18]
#增: append(x)  insert(2,x)
myList.append(100);
print(myList);
myList.insert(1,'李四');
print(myList);
#删 remove(x) 删除x元素   pop()删除列表最后一个元素
myList.remove(18);
print(myList);
removeX=myList.pop();
print(myList);
print(removeX);
#改
myList[2]=172;
print(myList);
#查
print(myList[0])

## 总结： 列表就是类似对象链表，可以装任意元素，有序可变可重复，可进行增删改查，自由度最高

# 2.元组(tuple) : 有序，可重复，不可变，只能用来查
myTuple=('chen',30,'男','建行')

# 增,不可增，定义好就不能变
# 删，不可删除，定义好就不能变更结构
# 改,不可改 myTuple[0]='wang'会报错
# 查 ('chen', 30)
# print(myTuple[0:2]);
a,b,c=myTuple[0:3];
print(a);
print(b);
print(c);

# 3.set集合  无序不可重复,自动去重
mySet={1,'chen',2,3,2,10}
# 增(单个和多个)
mySet.add(100);
mySet.update([12,32]);
# 删
mySet.remove(1); # 没有就会报错
mySet.discard(2000); # 没有不报错
print(mySet);
#改查都不行
# 集合操作，交并差
set1=set([1,2,3]);
set2={2,'chen','wang',10}
# 并集
set3=mySet | set2;
print(set3);
#交集
set4=mySet & set1;
print(set4);
#差集
set5=mySet - set2;
print(set5);

# 4.字典  键值对，key为set集合
d1={'name': 'chen','age': 18,'sex': '男'};
# 增/改
d1['skill']='python';
d1['name']='wang';
print(d1);
#删
del d1['age'];
print(d1);
#查
for key in d1:
    print(key,"=",d1[key]);
for k,v in d1.items():
    print(k,"---》",v);
